{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "lang": "hi"
   },
   "source": [
    "## भाग 5 सैंडबॉक्स में आपका स्वागत है\n",
    "\n",
    "पिछले विश्लेषकों में, हम हर बार अपने हुक और अपने सभी श्रमिकों (workers) को हाथ से शुरू कर रहे हैं। यह थोड़ा परेशान करने वाला हो सकता है जब आप सिर्फ हस्तक्षेप के आसपास खेल रहे हों / सीख रहे हों। इसलिए, यहां से हम एक विशेष सुविधा का उपयोग करके इन सभी समान चर को बनाएंगे।\n",
    "\n",
    "अनुवादक - nbTranslate \n",
    "\n",
    "संपादक - Urvashi Raheja - Github: [@raheja](https://github.com/raheja)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "import syft as sy\n",
    "sy.create_sandbox(globals())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "lang": "hi"
   },
   "source": [
    "### सैंडबॉक्स हमें क्या देता है?\n",
    "\n",
    "जैसा कि आप ऊपर देख सकते हैं, हमने कई आभासी श्रमिकों को बनाया और बहुत सारे टेस्ट डेटासेट में लोड किया, उन्हें विभिन्न श्रमिकों (workers) के आसपास वितरित किया ताकि हम गोपनीयता संरक्षण तकनीकों जैसे फेडरेटेड लर्निंग का उपयोग करके अभ्यास कर सकें।\n",
    "\n",
    "हमने छह कार्यकर्ता (workers) बनाए ...।"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "workers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "lang": "hi"
   },
   "source": [
    "हमने बहुत सारे वैश्विक चरों को भी आबाद किया है जिसका हम तुरंत उपयोग कर सकते हैं!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "hook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "bob"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "lang": "hi"
   },
   "source": [
    "# भाग 2: कार्यकर्ता खोज कार्यशीलता\n",
    "\n",
    "दूरस्थ डेटा विज्ञान करने का एक महत्वपूर्ण पहलू यह है कि हम दूरस्थ मशीन पर डेटासेट की खोज करने की क्षमता चाहते हैं। उदाहरण के लिए \"रेडियो\" डेटासेट के लिए अस्पतालों को क्वेरी करने के लिए एक शोध प्रयोगशाला के बारे में सोचें।"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "torch.Tensor([1,2,3,4,5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "x = torch.tensor([1,2,3,4,5]).tag(\"#fun\", \"#boston\", \"#housing\").describe(\"The input datapoints to the boston housing dataset.\")\n",
    "y = torch.tensor([1,2,3,4,5]).tag(\"#fun\", \"#boston\", \"#housing\").describe(\"The input datapoints to the boston housing dataset.\")\n",
    "z = torch.tensor([1,2,3,4,5]).tag(\"#fun\", \"#mnist\",).describe(\"The images in the MNIST training dataset.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = x.send(bob)\n",
    "y = y.send(bob)\n",
    "z = z.send(bob)\n",
    "\n",
    "#यह एक टैग के भीतर या विवरण के भीतर सटीक मिलान के लिए खोज करता है\n",
    "\n",
    "results = bob.search([\"#boston\", \"#housing\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "print(results[0].description)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "lang": "en"
   },
   "source": [
    "# भाग 3: आभासी ग्रिड\n",
    "\n",
    "एक ग्रिड केवल श्रमिकों का एक संग्रह है, जो आपको एक डेटासेट के लिए एक साथ रखने के लिए कुछ सुविधा प्रदान करता है।"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "grid = sy.PrivateGridNetwork(*workers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "results = grid.search(\"#boston\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "boston_data = grid.search(\"#boston\",\"#data\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "lang": "en"
   },
   "outputs": [],
   "source": [
    "boston_target = grid.search(\"#boston\",\"#target\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "nbTranslate": {
   "displayLangs": [
    "hi"
   ],
   "hotkey": "alt-t",
   "langInMainMenu": true,
   "sourceLang": "en",
   "targetLang": "hi",
   "useGoogleTranslate": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
